/**
 * Project Name:wwe
 * File Name:BaseService.java
 * Package Name:pers.billson.wwe.common
 * Date:2017年4月4日下午8:05:29
 * Copyright ©2017, billson0618@163.com All Rights Reserved.
 *
*/

package pers.billson.wwe.common;

import java.util.List;

/**
 * Discription: 基础Service接口类 <br/>
 *
 * @author Billson
 * @date 2017年4月4日 下午8:05:29
 */
public interface BaseService<T> {

	/**
	 * 
	 * 根据主键查询数据 <br/>
	 *
	 * @param id
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:08:36
	 */
	T getById(long id);
	
	/**
	 * 
	 * 根据主键查询数据 <br/>
	 *
	 * @param id
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:08:36
	 */
	T getById(String id);
	
	/**
	 * 
	 * 查询所有数据 <br/>
	 *
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午11:09:51
	 */
	List<T> listAll();
	
	/**
	 * 
	 * 根据主键删除数据 <br/>
	 *
	 * @param id
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:09:42
	 */
	int deleteById(long id);
	
	/**
	 * 
	 * 根据主键删除数据 <br/>
	 *
	 * @param id
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:09:42
	 */
	int deleteById(String id);
	
	/**
	 * 
	 * 更新数据 <br/>
	 *
	 * @param t
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:10:17
	 */
	int update(T t);
	
	/**
	 * 
	 * 保存数据 <br/>
	 *
	 * @param t
	 * @return
	 * @author Billson
	 * @date 2017年4月4日 下午8:16:29
	 */
	int save(T t);
}
